package cn.topevery.garden.entity.po;

import cn.topevery.garden.framework.base.BaseEntity;
import com.alibaba.fastjson.annotation.JSONField;
import hw.topevery.framework.annotation.DbTable;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.enums.DbTypeEnum;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 
 *人员打卡记录表
 * @author code-generate
 * @date 2022-01-12
 */
@Data
@DbTable(tableName = "t_clock_in_people")
public class ClockInPeople extends BaseEntity {
        /**
     * 人员名称
     */
    @DbTableField(columnName = "c_user_name", dbType = DbTypeEnum.VARCHAR)
    public String userName ;

    /**
     * 人员id int
     */
    @DbTableField(columnName = "c_user_id_int", dbType = DbTypeEnum.INTEGER)
    public Integer userIdInt ;

    /**
     * 人员id
     */
    @DbTableField(columnName = "c_user_id", dbType = DbTypeEnum.VARCHAR)
    public String userId ;

    /**
     * 上班日期
     */
    @DbTableField(columnName = "c_date", dbType = DbTypeEnum.DATE)
    public LocalDate date ;

    /**
     * 上班时间
     */
    @DbTableField(columnName = "c_work_date", dbType = DbTypeEnum.TIMESTAMP)
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    public LocalDateTime workDate ;

    /**
     * 片区
     */
    @DbTableField(columnName = "c_extent_name", dbType = DbTypeEnum.VARCHAR)
    public String extentName ;

    /**
     * 班次
     */
    @DbTableField(columnName = "c_duty_name", dbType = DbTypeEnum.VARCHAR)
    public String dutyName ;

    /**
     * 打卡gps时间
     */
    @DbTableField(columnName = "c_gps_date", dbType = DbTypeEnum.TIMESTAMP)
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    public LocalDateTime gpsDate ;

    /**
     * 0 未打卡 1 自动打卡 2 补卡
     */
    @DbTableField(columnName = "c_type", dbType = DbTypeEnum.SMALLINT)
    public Short type ;

    /**
     * 0 异常 1 正常
     */
    @DbTableField(columnName = "c_status", dbType = DbTypeEnum.SMALLINT)
    public Short status ;

    /**
     * 坐标 
     */
    @DbTableField(columnName = "c_geo_x", dbType = DbTypeEnum.DOUBLE)
    public Double geoX ;

    /**
     * 坐标 
     */
    @DbTableField(columnName = "c_geo_y", dbType = DbTypeEnum.DOUBLE)
    public Double geoY ;
    /**
     * 坐标
     */
    @DbTableField(columnName = "c_abs_x", dbType = DbTypeEnum.DOUBLE)
    public Double absX ;

    /**
     * 坐标
     */
    @DbTableField(columnName = "c_abs_y", dbType = DbTypeEnum.DOUBLE)
    public Double absY ;
    /**
     * 位置结果
     */
    @DbTableField(columnName = "c_address", dbType = DbTypeEnum.VARCHAR)
    public String address ;

    /**
     * 有效时长
     */
    @DbTableField(columnName = "c_valid_time", dbType = DbTypeEnum.INTEGER)
    public Integer validTime;

    /**
     * 里程 int
     */
    @DbTableField(columnName = "c_mileage", dbType = DbTypeEnum.INTEGER)
    public Integer mileage;
}
